package com.yifeng.dao;

import com.yifeng.model.Resource;

import java.util.List;


public interface ResourceDao {

    /*
    负责人：鹿鸣

    功能：查询资源列表，支持资源管理界面的分页展示

    参数：offset - 数据偏移量, pageSize - 每页记录数

    返回值：资源对象列表，按上传时间倒序排列
    */

    List<Resource> findResourceList();


    /*
      负责人：鹿鸣

    功能：按关键词搜索资源，支持资源管理中的搜索功能

    参数：keyword - 搜索关键词, offset - 数据偏移量, pageSize - 每页记录数

    返回值：匹配关键词的资源对象列表
    */

    List<Resource> searchByKeyword(String keyword);


    /*
     负责人：鹿鸣

    功能：插入新资源记录，用于资源上传功能

    参数：resource - 包含资源信息的Resource对象

    返回值：插入成功返回true，失败返回false
    */

    boolean insert(Resource resource);


    /*
      负责人：鹿鸣

    功能：删除资源记录，实现资源管理中的删除功能

    参数：resourceId - 资源唯一标识ID

    返回值：删除成功返回true，失败返回false
    */

    boolean delete(int resourceId);

    /*
      负责人：鹿鸣

   功能：根据资源id查询资源信息

   参数：resourceId - 资源唯一标识ID

   返回值：Resource
   */
    Resource findResourceById(Integer resourceId);

    boolean incrementDownloadCount(int resourceId);
}